package com.dhcc.bpm.modules.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.modules.system.entity.Role;
import com.dhcc.bpm.modules.system.vo.RoleVO;

import java.util.List;

/**
 * @ClassName RoleMapper
 * @Description Mapper 接口
 * @Author sjm
 * @Date 2020/2/21 0021 15:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 **/
public interface RoleMapper extends BaseMapper<Role> {

	/**
	 * @Description 自定义分页
	 * @Author sjm
	 * @Date 10:15 2020/2/22 0022
	 * @param page
	 * @param role
	 * @return java.util.List<com.dhcc.bpm.modules.system.vo.RoleVO>
	 **/
	List<RoleVO> selectRolePage(IPage page, RoleVO role);

	/**
	 * @Description 获取树形节点
	 * @Author sjm
	 * @Date 10:15 2020/2/22 0022
	 * @param tenantId
	 * @param excludeRole
	 * @return java.util.List<com.dhcc.bpm.modules.system.vo.RoleVO>
	 **/
	List<RoleVO> tree(String tenantId, String excludeRole);

	/**
	 * @Description 获取角色名
	 * @Author sjm
	 * @Date 10:16 2020/2/22 0022
	 * @param ids
	 * @return java.util.List<java.lang.String>
	 **/
	List<String> getRoleNames(String[] ids);

	/**
	 * @Description 获取角色名
	 * @Author sjm
	 * @Date 10:16 2020/2/22 0022
	 * @param ids
	 * @return java.util.List<java.lang.String>
	 **/
	List<String> getRoleAliases(Long[] ids);

	/**
	 * 根据id查询角色
	 * @Author sjm 
	 * @Date 18:42 2020/2/21 0021
	 * @param roleIds
	 * @return java.util.List<com.dhcc.bpm.modules.system.entity.Role>
	 **/
	List<Role> getRoleSelectByIds(String[] roleIds);

	/**
	 * @Description 删除
	 * @Author sjm
	 * @Date 10:22 2020/2/22 0022
	 * @param roleId
	 * @return boolean
	 **/
	boolean removeByRoleId(Long roleId);

	/**
	 * @Description 根据角色id查询子节点
	 * @Author xiafayu
	 * @Date 2020/8/18 9:28
	 * @param parentId
	 * @return
	 * @throws
	 **/
	List<Role> getByParentId(String parentId);
}
